home *** CD-ROM | disk | FTP | other *** search
/ Fritz: All Fritz / All Fritz.zip / All Fritz / FILES / UTILFILE / UNPROT2.LZH / SPOC.UNP < prev    next >
Text File  |  1985-01-26  |  6KB  |  117 lines

  1.  
  2.      Directions for Unprotecting SPOC, the Chess Master, Version 1.0.
  3.  
  4. What  follows below is a step by step guide for unprotecting SPOC the Chess
  5. Master, Version 1.0 by Cypress Software. The proceedure requires only  that
  6. you have DOS and debug (a program supplied with DOS). You do not have to be
  7. familiar with debug to copy SPOC. First I'll give you my impressions of the
  8. software and some general comments about its protection scheme.
  9.  
  10. The software is designed to play Chess. It appears to be fairly smart about
  11. making  it  Chess  moves,  but then I'm not a great player. It is, however,
  12. quite dumb about talking to its opponent  (you,  the  user).  Perhaps  it's
  13. written  in Fortran or something. You can not take a move back. You can not
  14. ask the computer what it would do in your situation, nor can  you  have  it
  15. play  itself  (which  would be fun to watch on the screen). You can not set
  16. the board up in some situation before starting play (i.e., you must  always
  17. start  from  the begining, no setting up some classic closing situation and
  18. going from there.) In fact, user interface is so  bad,  that  when  a  game
  19. ends,  the  only way to play another game is to stop and then start SPOC up
  20. again. I'm not really sure why they bothered to copyprotect the thing.  The
  21. only  things  you can do are change the level of play (it recognizes 9 dif-
  22. ferent levels), save a current board set-up, and stop. I also find it  hard
  23. to  differentiate  between black and white players. Perhaps this problem is
  24. resolved  when  you  use  graphics  output,  but  my  machine  lacks   that
  25. capability.
  26.  
  27. The  software  uses  the  following  protection scheme: The program is dis-
  28. tributed on a single-sided write-protected diskette. The disk is close to a
  29. normal disk. There is one file in the directory, spoc.exe, which is most of
  30. the program. However, track 20, sector 5 is a bad sector. In what manner it
  31. is bad, I don't know, but nothing can read it. SPOC first attempts to  read
  32. track  20,  sector  5.  If  it  does not get an error message from the BIOS
  33. routines, it quits. Otherwise it goes directly to the NEC  disk  controller
  34. to  set  up  another  read  of track 20. In doing this, it basically copies
  35. (byte for byte) many of the routines in BIOS for disk  I/O  (interupt  13).
  36. (Interesting  that  it's  quest  for  copy-protection  should  lead Cypress
  37. Software to copy someone else's software. In addition, the  boot-record  on
  38. the SPOC disk is an exact copy of the IBM PC-DOS, version 1.0, boot-record,
  39. right down to Robert O'Rear's included name.) If the NEC's read of track 20
  40. brings  back  what SPOC wants to find there, it goes on to the main part of
  41. the program, which does a few more checks of its own. It checks to  see  if
  42. the  spoc.exe file is the first thing in the directory. It checks to see if
  43. the spoc disk is write-protected (plastic over the  write  notch).  And  it
  44. checks  to  see  if the spoc disk is a single-sided disk. Finally, it reads
  45. track 30 (and then some) of the SPOC disk for information that  is  needed.
  46. This  part of the disk is not marked as being allocated in the directory on
  47. the disk.
  48.  
  49.                         Unprotection Instructions:
  50.  
  51. I wanted to find a way to copy SPOC without altering  the  program  in  any
  52. way,  but  was  unable to do this. However, the changes to the program out-
  53. lined below are not extensive, and only change that  part  of  the  program
  54. concerned with copy protection.
  55.  
  56. Assuming a 1 drive system.
  57. Starting from the DOS prompt: (what you type is in brackets:<>)
  58. 1.) A><diskcopy>
  59. 2.) Follow the diskcopy instructions,
  60. using the SPOC original as the source diskette and a new unused diskette as 
  61. the target. The diskette must be unused, or else you will have to "unformat"
  62. the second side.
  63. 3.) A><b:debug>
  64. 4.) Put a disk with debug.com in for drive b when prompted.
  65. After the debug program has been loaded, it will display it's "-" prompt.
  66. You will now give it some instructions.
  67. 4.1.) -<l cs:100 0 a5 3>
  68. 4.2.) When prompted for diskette for drive a, put your SPOC diskette (original)
  69. in drive a. Wait for debug to come back with another prompt, then take your
  70. SPOC diskette out and put in your spoc copy (made up above).
  71. 4.3.) -<w cs:100 0 a5 3>
  72. 4.4.) -<n spoc.exe>
  73. 4.5.) Now take your spoc copy out and put the SPOC original back in.
  74. 4.6.) -<l>
  75. 5.) -<u>
  76. 6.) After you type "u" the screen should display a number of lines of
  77. data, the first of which should read as follows:
  78. xxxx:0000  EB07  JMPS  0009
  79. The xxxx will vary from machine to machine, but write it down. You'll use
  80. it later.
  81. 7.) -<g 0e>
  82. 8.) After the above instruction to debug, the disk drive will start up and
  83. after a few seconds debug will come back with another prompt. At this
  84. point, wait until the disk drive light goes out, take out the SPOC disk
  85. and put in your copy made above. Make sure it is not write-protected at
  86. this point. Then type the following:
  87. 9.) -<w cs:01a9 0 d0 8>
  88. 10.) Wait for debug to come back with another prompt and then type:
  89. 11.) -<q>
  90. 12.) You just quit debug and are back to DOS. Continue with you spoc copy
  91. in drive A.
  92. 13.) A><ren spoc.exe spoc.bin>
  93. 14.) A><b:debug a:spoc.bin>
  94. 15.) Now insert something with debug on it in for drive b and at the prompt
  95. insert your spoc copy back into drive a. You should be back in debug.
  96. 16.) -<u xxxx:e00>
  97. 17.) The xxxx come from above, during the first encounter with debug.
  98. After typing the instruction in step 16 the screen should display
  99. information like it did before. The first line should be:
  100. xxxx:0E00  EB07  JMPS   0009
  101. Now you are about to enter the changes to the program.
  102. 18.) -<e xxxx:e2d 06 56 be 03 00 8c c8 8e c0 bb a9 01 b4 02 b0 08 b2 00>
  103. 19.) -<e xxxx:e3f b6 00 b5 1a b1 01 cd 13 72 03 5e 07 c3 b4 00 cd 13 4e>
  104. 20.) -<e xxxx:e51 75 e6 f9 eb f3>
  105. 21.) Well that's about it, now just:
  106. 22.) -<w>
  107. 23.) -<q>
  108. 24.) You should be back in DOS now after quitting debug.
  109. 25.) A><ren spoc.bin spoc.exe>
  110. 26.) Now take out your spoc copy and put a write-protect tab on it. It
  111. should now work just like the original SPOC disk. (It won't work unless
  112. you have a write-protect tab on it.) Your spoc copy can now be copied
  113. endlessly and painlessly by following the normal DOS diskcopy routine.
  114.  
  115. Randy Day.  12/5/83
  116. r spoc copy can now be copied
  117. endlessly and painlessly by following t